package com.cDesarrollador.dao;

import java.util.List;
import org.hibernate.SessionFactory;
import com.cDesarrollador.model.Categoria;


public class CategoriaDAO implements ICategoriaDAO {

	private SessionFactory sessionFactory;

	/**
	 * Get Hibernate Session Factory
	 * 
	 * @return SessionFactory - Hibernate Session Factory
	 */
	public SessionFactory getSessionFactory() {
		return sessionFactory;
	}

	/**
	 * Set Hibernate Session Factory
	 * 
	 * @param SessionFactory
	 *            - Hibernate Session Factory
	 */
	public void setSessionFactory(SessionFactory sessionFactory) {
		this.sessionFactory = sessionFactory;
	}

	public void addCategoria(Categoria Categoria) {
		getSessionFactory().getCurrentSession().persist(Categoria);

	}

	public void updateCategoria(Categoria Categoria) {
		getSessionFactory().getCurrentSession().update(Categoria);

	}

	public void deleteCategoria(Categoria Categoria) {
		getSessionFactory().getCurrentSession().delete(Categoria);

	}

	public Categoria getCategoriaById(int id) {
		// TODO Auto-generated method stub
		List list = getSessionFactory().getCurrentSession()
				.createQuery("from Categoria where id=?").setParameter(0, id)
				.list();
		return (Categoria) list.get(0);
	}

	public List<Categoria> getCategorias() {
		List list  = getSessionFactory().getCurrentSession()
				.createQuery(" from Categoria").list();
		return list;

	}

}
